# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Moritz Lipp <mlq@pwmt.org>
# Contributor: fordprefect <fordprefect@dukun.de>
# Contributor: Thor77 <thor77@thor77.org>

pkgname=radicale
_name=Radicale
pkgver=3.1.8
pkgrel=2
pkgdesc="Simple calendar (CalDAV) and contact (CardDAV) server"
arch=(any)
url="https://radicale.org/"
license=(GPL3)
depends=(python-bcrypt python-dateutil python-defusedxml python-passlib
python-pytz python-vobject)
makedepends=(python-build python-installer python-setuptools python-wheel)
checkdepends=(python-pytest python-pytest-runner python-typeguard python-waitress)
backup=(
  'etc/radicale/config'
  'etc/radicale/rights'
  'etc/radicale/users'
)
install=$pkgname.install
source=(
  $pkgname-$pkgver.tar.gz::https://github.com/Kozea/$pkgname/archive/v$pkgver.tar.gz
  $pkgname-sysusers.conf
  $pkgname-tmpfiles.conf
  $pkgname.service
)
sha512sums=('5c4b55ee9cfc5060a0e0cf1f284d2c5a354bcabd7a088214e917fabb0083bcd172fd92aeb59b1f869f34e04f8c276efbed15c2a3ff2fdbc81b2220586bbaf31b'
            '56dffb66e018cfbf158dc5d8fe638b3cb31229945f659aae5623f219bcd1d68ddc375f1633fa8e857a9b2f50c9e05a06efce165370137d6e116a4f187466637f'
            '9d0dd88e4a34e9f97abda1785698e4b2a5e8202063deeb91b84e13c05e00b07e45b8d4d9eca09b9241b1138bbbfdc999dba0135c18f5bc0c08d65b0cd83b367b'
            '0f74a662e2eee56a89f5735e686910043ad5589b638e56a7ad3caa6d3b111cfbf1c131fe1b2ee34ce0d10d2f8a041a183f1382b1e1c9594f7e793c92161ef17a')
b2sums=('ec855138aa18508da5375c5bde854cee4d4110fb75437cc1472afd3b589dfa523031cdd1b8a51a0f6a74dfe819308acd068b979acde32c05941d113d9d289f1e'
        'b3af60e144ef857e42ec672e806e9600265ab7d2ea4a75011de9ab56918a008437afdacb301df210b54424fb7ff1e9a332831c67b2e58fd6bc0a0aa1eebe8909'
        '41916d62f5e3f1060bd21db0722abe837754a4cb915af218c904dafac4b06794f8fde2e34486fb7392777b4738502f3df4c1390b835050045337585b064e23bb'
        '8d7e732bb7430428db2b60ffd8b4b1c3e85cbda4a1b900ae28d80c46a64e97ab484d9cc13aaa2582eeca4063f4e74141754f1e67769d444b08b3663f62cf8bf1')

prepare() {
  cd $_name-$pkgver
  touch "users"
}

build() {
  cd $_name-$pkgver
  python -m build --wheel --no-isolation
}

check() {
  local _site_packages=$(python -c "import site; print(site.getsitepackages()[0])")

  cd $_name-$pkgver
  python -m installer --destdir=test_dir dist/*.whl
  export PYTHONPATH="test_dir/$_site_packages:$PYTHONPATH"
  pytest -v -c /dev/null
}

package() {
  cd $_name-$pkgver
  python -m installer --destdir="$pkgdir" dist/*.whl
  # config
  install -vDm 644 {config,rights,users} -t "$pkgdir/etc/$pkgname/"
  # wsgi
  install -vDm 644 $pkgname.wsgi -t "$pkgdir/usr/share/$pkgname/"
  # systemd service
  install -vDm 644 ../$pkgname.service -t "$pkgdir/usr/lib/systemd/system/"
  # sysusers.d
  install -vDm 644 ../$pkgname-sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
  # tmpfiles.d
  install -vDm 644 ../$pkgname-tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
  # docs
  install -vDm 644 {CHANGELOG,DOCUMENTATION,README}.md -t "$pkgdir/usr/share/doc/$pkgname/"
}
